﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MySql.Data.MySqlClient;
using System.Web.Configuration;
using System.Data;
using System.Text;
using System.IO;
using System.Web.UI;
using System.Web.UI.WebControls;

/// <summary>
/// Summary description for Materiais
/// </summary>
public class Materiais
{
    public Materiais()
    {
    }
    public bool IncluiMateriaisComputador(int CodigoChamado, int Memorias, int Gabinete, int HD, int Leitores, int PlacaMae, int Fonte, int Cabos, int Cooler, int Placas, int Teclado, int Mouse, int Monitor, int Baterias, int Equipamentos, int Cartucho, int FotoReceptor)
    {
        Banco bd = new Banco();
        return bd.Comando("INSERT INTO materiais (codigo, memoria, gabinete, hd, leitores, placa_mae, fonte, cabos, cooler, placas, teclado, mouse, monitor, baterias, equipamentos_de_rede, foto_receptor, cartucho)" +
        " VALUES (" + CodigoChamado + "," + Memorias + "," + Gabinete + "," + HD + "," + Leitores + "," + PlacaMae + "," + Fonte + "," + Cabos + "," + Cooler + "," + Placas + "," + Teclado + "," + Mouse + "," + Monitor + "," + Baterias + "," + Equipamentos + "," + Cartucho + "," + FotoReceptor + ")");
    }

    public string[] PreecherLista(int CodigoChamado)
    {

        string[] Lista = new string[17];
        string sql = "SELECT memoria, gabinete, hd, leitores, placa_mae, fonte, cabos, cooler, placas, teclado, mouse, monitor, baterias, equipamentos_de_rede, cartucho, foto_receptor, processador FROM materiais WHERE (codigo = " + CodigoChamado + ")";
        string conexao = WebConfigurationManager.ConnectionStrings["chamados"].ConnectionString; MySqlConnection conection = new MySqlConnection(conexao);
        MySqlCommand comando = new MySqlCommand(sql, conection);

        MySqlDataReader dtreader;
        conection.Open();
        dtreader = comando.ExecuteReader();
        if (dtreader.HasRows)
        {

            while (dtreader.Read())
            {
                for (int contador = 0; contador < 17; contador++)
                {
                    Lista[contador] = dtreader.GetUInt32(contador).ToString();
                }
            }
        }
        conection.Close();

        return Lista;
    }
    public bool AlterarMateriaisComputador(int CodigoChamado, int Memorias, int Gabinete, int HD, int Leitores, int PlacaMae, int Fonte, int Cabos, int Cooler, int Placas, int Teclado, int Mouse, int Monitor, int Baterias, int Equipamentos, int Processador)
    {
        Banco bd = new Banco();
        return bd.Comando("UPDATE materiais SET memoria =" + Memorias + ", gabinete =" + Gabinete + ", hd =" + HD + ", leitores =" + Leitores + ", fonte =" + Fonte + ", cabos =" + Cabos + ", cooler =" + Cooler + ", placas =" + Placas + ", teclado =" + Teclado + ", mouse =" + Mouse + ", monitor =" + Monitor + ", baterias =" + Baterias + ", equipamentos_de_rede =" + Equipamentos + ", placa_mae =" + PlacaMae + ", processador = "+Processador+"  WHERE (codigo = " + CodigoChamado + ")");
    }
    public bool AlterarMateriaisImpressora(int CodigoChamado, int Cartucho, int FotoReceptor)
    {
        Banco bd = new Banco();
        return bd.Comando("UPDATE materiais SET foto_receptor =" + FotoReceptor + ", cartucho=" + Cartucho + " WHERE (materiais.codigo = " + CodigoChamado + ")");
    }
    public bool ExportaExcel(string Sql, string NomeArquivo)
    {
        MySqlConnection conn = new MySqlConnection(WebConfigurationManager.ConnectionStrings["chamados"].ConnectionString);
        conn.Open();

        DataTable dt = new DataTable();
        //cria um adapter e preenche o datatable
        MySqlDataAdapter adapter = new MySqlDataAdapter(Sql, conn);
        adapter.Fill(dt);
        //fecha a conexão
        conn.Close();
        HttpContext.Current.Response.ContentEncoding = Encoding.GetEncoding("Windows-1252");
        HttpContext.Current.Response.Charset = "UTF-8";

        HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename="+NomeArquivo+".xls");
        HttpContext.Current.Response.Charset = "";
        HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";

        //Objetos
        StringWriter stringWrite = new System.IO.StringWriter();
        HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

        //Inclui controles 
        DataGrid dgDados = new DataGrid();
        //HttpContext.Current.Controls.Add(dgDados);

        //Definição de cores        
        dgDados.DataSource = dt;
        dgDados.DataBind();

        //Renderiza o DataGrid
        dgDados.RenderControl(htmlWrite);

        //Inluir a classe de estilo
        //Exporta 
        HttpContext.Current.Response.Write(stringWrite.ToString());
        //encerra
        HttpContext.Current.Response.End();

        return true;
    }
}